package com.librariy.util;
/**
 * Mock Log implementation for testing on non android host.
 */
public final class Log {
    private static boolean DEBUG = true;

    private Log() {
    }

    public static int v(String tag, String msg) {
        if (!Log.isLoggable(tag, android.util.Log.VERBOSE)) {
            return 0;
        }
        return android.util.Log.v(tag, msg);
    }

    public static int v(String tag, String msg, Throwable tr) {
        if (!Log.isLoggable(tag, android.util.Log.VERBOSE)) {
            return 0;
        }
        return android.util.Log.v(tag, msg, tr);
    }

    public static int d(String tag, String msg) {
        if (!Log.isLoggable(tag, android.util.Log.DEBUG)) {
            return 0;
        }
        return android.util.Log.d(tag, msg);
    }

    public static int d(String tag, String msg, Throwable tr) {
        if (!Log.isLoggable(tag, android.util.Log.DEBUG)) {
            return 0;
        }
        return android.util.Log.d(tag, msg, tr);
    }

    public static int i(String tag, String msg) {
        if (!Log.isLoggable(tag, android.util.Log.INFO)) {
            return 0;
        }
        return android.util.Log.i(tag, msg);
    }

    public static int i(String tag, String msg, Throwable tr) {
        if (!Log.isLoggable(tag, android.util.Log.INFO)) {
            return 0;
        }
        return android.util.Log.i(tag, msg, tr);
    }

    public static int w(String tag, String msg) {
        if (!Log.isLoggable(tag, android.util.Log.WARN)) {
            return 0;
        }
        return android.util.Log.w(tag, msg);
    }

    public static int w(String tag, String msg, Throwable tr) {
        if (!Log.isLoggable(tag, android.util.Log.WARN)) {
            return 0;
        }
        return android.util.Log.w(tag, msg, tr);
    }

    public static int w(String tag, Throwable tr) {
        if (!Log.isLoggable(tag, android.util.Log.WARN)) {
            return 0;
        }
        return android.util.Log.w(tag, tr);
    }

    public static int e(String tag, String msg) {
        if (!Log.isLoggable(tag, android.util.Log.ERROR)) {
            return 0;
        }
        return android.util.Log.e(tag, msg);
    }
    public static int e(String tag, String msg, Throwable tr) {
        if (!Log.isLoggable(tag, android.util.Log.ERROR)) {
            return 0;
        }
        return android.util.Log.e(tag, msg, tr);
    }    
    private static boolean isLoggable(String tag, int level) {
        return level>=android.util.Log.WARN?true:DEBUG;
    }
}